#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>

// int fib(int n)
// {
//     if(n<3)
//     {
//         return 1;
//     }
//     else 
//     {
//         return fib(n-1)+fib(n-2);
//     }
// }
// int main() {
//     int n = 0;
//     scanf("%d",&n);
//     int ret = fib(n);
//     printf("%d",ret);
//     return 0;
// }

//int fib(int n)
//{
//    int a = 1;
//    int b = 1;
//    int c = 1;
//    while (n >= 3)
//    {
//        c = a + b;
//        a = b;
//        b = c;
//        n--;
//    }
//    return c;
//}
//int main() {
//    int n = 0;
//    scanf("%d", &n);
//    int ret = fib(n);
//    printf("%d", ret);
//    return 0;
//}

#include <stdio.h>
#include<math.h>

int main() {
    double n, m;

    while (scanf("%lf%lf", &n, &m) != EOF)
    {
        double sum = 0;

        while (m--)
        {
            sum += n;
            n = sqrt(n);
        }
        printf("%.2lf\n", sum);
    }

    return 0;
}

int* masterMind(char* solution, char* guess, int* returnSize) {
    int* ret = malloc(sizeof(int) * 2);
    int i = 0;
    int j = 0;
    ret[0] = 0;
    ret[1] = 0;
    for (i = 0; i < 4; i++)
    {
        if (solution[i] == guess[i])
        {
            ret[0]++;
            solution[i] = 'F' + 2;
            guess[i] = 'F';
        }
    }
    for (i = 0; i < 4; i++)
    {
        for (j = 0; j < 4; j++)
        {

            if (solution[i] == guess[j])
            {
                ret[1]++;
                guess[j] = 'F';
                solution[i] = 'F' + 2;
                break;
            }
        }
    }
    *returnSize = 2;
    return ret;
}

int* twoSum(int* numbers, int numbersLen, int target, int* returnSize) {
    // write code here
    int* ret = malloc(sizeof(int) * 2);
    int i = 0;
    int j = 0;
    for (i = 0; i < numbersLen; i++)
    {
        if (numbers[i] > target)
        {
            continue;
        }
        for (j = i + 1; j < numbersLen; j++)
        {
            if (numbers[i] + numbers[j] == target)
            {
                ret[0] = i + 1;
                ret[1] = j + 1;
                *returnSize = 2;
                return ret;
            }
        }
    }
    return 0;
}